refactor + multi value lookups + updated append list