Adding defactory macro