hmm, this code is so dirty :'(