better block creation interface