Added JavaDoc and Comments