Initial draft on hooks: laid out the base structure