added warnings and stuff