Work in progress... still.