Made init a generic