added unit type annotation to abstract methods