added base methods
added core methods