so completion