initial versions, not yet working