extract methods