It works..

I'll refactor it later.