Slightly refactored everything. Close #5.