work in progress, added reaction class