added alchemy functionality