Bulk of functionality complete; needs more testing