tons of improvements
implementing comments