added playground and some object refactoring