custom arrays functions