some weekend work in progress
526