this 1st version is incomplete. CODES IN PROGRESS...