implemented spirit