Initial version, barely working.