the original project is by @sigtothema give all credits to him, I'm just debugging and adding on what I think