implement bucket skeleton