removed gratuitous abstraction