finished style refactor