These changes are going to conflict with the changes in #38 once they are merged.