fixed implicit definitions and updated license