bad style guides
refactor a bit