Adjusted how IDs are handled internally, much cleaner