* requirements