Initial (ugly) version.