A few bugs still need to be fixed :/