parameterize and add ubuntu support