almost done, just need to do displaycontroller