broken front end , started abstracting the code