Closes #28. Related to #27. #27 needs to be done.