starting to implement sorcery