added conditional (not finished)