merged with restyle branch