added delay block

added delay block + re-arranged block factory