some intial framework