An Algorithm for Assembly Centric Design