finished version 4.0