Everything (except Matching is working)

Moved things to data object and added more tests etc.