removed boilerplate/unnecessary abstractions