move common definitions into separate file