approval logic added, I am so tired, but it totally works