Finished implementation rough rough draft.