some more redesigning