adding factory functions for proxy objects