fix some random things and make the interface cleaner