board and abstract methods added