Added JavaDoc and TODOs