some improvement on recipe