this is the submitted VHDL code