New features, re-structuring, code clean-up