Layer features and refactor