Add magic checks - magic is public because it will be part of the API