initial piece pickup implementation