abstract methods implementation runtime checking