more implementations

implemented a bunch of new features