define needs to be defined on both ends