still working on alternative method