fixed all warnings. may have broken something