fix broken function first. work on usability later.