history redisign
evening refactoring  ;)