Implemented required TODO's