Cleanup and re-organize