2nd iteration basic coding done; NOT TESTED!