final idea working