added some def implementations