Added 'first' method + unit tests