initial implementation framework