extracted first methods