edited for xilinx project