add core.logic
ideas