clean
re-write
working