sorted out modal thingy, don't call it recursively pls.