Added P036, 037, 040, 042, 046 and fixed code