begin implementing common data path functionality