loom implementation