most of the functionality is working now