lots of styles, refactor done enough