must create puck up function