Initial development, add more functionality