implement first blocks