adding some front end code, still needs work