Version 1

Completed all required functionality, inkluding testcases. This is PR1.