some rough framework.