Changed super class to abstract, made methods private