bug fix. why so many bugs :(