modified for new design