beta implementation 2