First commit from thinkpad. These files are not in final state.