building alternative method