new style. still in progress.