Added JavaDoc and cleaned up for packaging up