finished refactoring, need lessons learnt