finished version 2.1