Abstract Methods implemented