+ style and logic changes