internal definitions now confirmed to be working