1st commit, more comments needed - more functionality would be cool