removed many dependencies, hopefully not too many