fake it
extract method
implement