Moved functionality from Arche