refactor + basic style