basic implementation updates