more style extraction and refactoring
rough stab at points at direction