for consistency can  you put the visibility before the abstract? ie. `public abstract` also in the rest of the class