minimal wisp implementation
more wisp
reorganize