added foundational code