WIP - spec added into code, need cover all