redesign using skeleton