added more stuff that will inevitably have to change