intro the main framework