updated files - semi-working