added semilogx option