Tests and functionality added to almost entirely test and implement basic usage