implemented different method signatures