some refactor
package name modified
minor changes