work in progress
some style issues