Functionality should be complete; needs more testing