added Virtual Methods