still need to work out some issues