further changes, added methods - refactored some code. far from finished