Added first code, still many things missing.