abstract version 2