basic framework done.