Initial implementation. No sync yet.