done with begin-end-spec hassle