All Methods implemented and working