got rid of unecessary boilerplate