port more specs, add aspect factory