I have issues.... i might re-do this some day.