create a state instance by default
use an array for arguments
state functionality complete