changed return values for consistency, changed enum types to start at 1