rename method
introduce interface for pieces