added some serious shit here