refer to the c page for an example of how it should have been done