a different implementaion of ls