front end mostly done