simple way of defining genes
More robust gene implementation