made method abstract