imported from old blueprint-sdk