cleaned up and release 3