Updating source and adding tests

#1