Implement Base logic