Initial version, fully working.