Trying to implement abstract parent classes