* meat grinder prefab + sprite cutting/naming done + icon
title :)
* Boss Bop, Miss, & Signal Anims
can you read
* Boss Call Anim
self-explanatory
* fix the z axis + new sprite
still working on getting those bops working. they're a bit weird (not the anim itself)
* Restored Meat Grinder Animations
i have no idea what just happened with github but the animations are back
* All Tack Animations Complete
just missing the meat anims
* Literally two lines changed
skull emoji (forgot to set the light meat for the miss anim to inactive by default)
* Meat Grinder Anims (should be) Done
Added the Meat Hit anims
* goodnight
* bopping every beat
* tons of sfx
* meat calls with their corresponding sfx/animations have been added
* prefunctions...
* inputs + sfx + prefunction
making swift progress here :)
* little commit
more cues and animation stuff so that i can have new animations
* Meat Toss Anims
also fixed up some of tack's hit anims to make the smear more consistent
* night night
* moved all the meat stuff to a new script
-this should help with instantiating the meat
* animations are a bit more comprehensive
* man, barelies are way easier than i thought they were gonna be
* instantiating works now
committing to work on my pc instead of my laptop
but i have been getting a lot done with the meat! it's just that most of that stuff is learning what i can't do...
* Boss Animation Tweaks
Adjusted Boss' bop and miss animations
* woohoo animation!
hi sean this is for u. tell me anything to tweak :)
* Quick Meat Toss Anim Fix
Prevents meat from playing the toss animation twice
* meat hit animation works!
sometimes there's a frame where the first frame of its animation pops up but i should be able to fix that
also just general improvements + framework for different meats
* it's done! or at least out of wip!
* you can select which meat type is tossed (defaults to random)
* ghost meat has been busted (it looped back to its first frame of anim sometimes right before being destroyed; i just added a single frame idle.)
* overall just optimized code
* removed WIP from game name
* a few touch-ups
* change all sfx to ogg
-also amplified toss.ogg by 4db, was hard to hear at the same time as hitting a cue
* fixed boss not bopping a beat after a signal
-a very small bit hacky but it really works fine. will fix if any problems come up (but i added a check so that there shouldn't be)
* i have stashed changes :P
* new bg + remove references
title
* boss weird bopping fixed + game switches fixed
* final touch-ups
---------
Co-authored-by: Seanski2 <seanbenedit@gmail.com>
* Started, off to a good start
* Animation shit
* I hope this looks okay
* expose song pitch to minigames
* clean up new additions
* They now lower down
* Da new pitch stuff needs update but I made cool stuff regardless
* Hit sprites implemented
* Added barely animation for ghost
* Missing and barely stuff implemented
* make new functions actually set music pitch
* Bow enter or exit
---------
Co-authored-by: minenice55 <star.elementa@gmail.com>
* Kitties! (Initialization)
* Kitties Sprites Set-up
* Kitties (Placeholder Icon)
* Kitties (SFX added and some work on input)
* Kitties Animation Stuff
* Kitties Idle and Pop In
* Kitties Clap Animations and Inverse Spawn
* More Claps
* Face Claps
* Face Idle (Partially Done) and Mice
* Finished Claps
* Spins Partially Done
* Started On Fish
* Finished Rolls
* Fixed issue where animation flip would override code flip
* Fish Catch Animation Started
* Kitties Inputs Done and Custom Background sorta done
* Changed from "Initialization Only" to "WIP"
* fish bug fix
* Multiple Bug Fixes and Linger Animations
* Started
* Added bomb
* Just need more explosion types ig
* Count ins :D
* Remix 5 background
* This was painful
* Shity particles
* particle adjustments
* stuff
---------
Co-authored-by: ev <85412919+evdial@users.noreply.github.com>
* Started
* Imported new spritesheet
* Set up new spritesheets
* Added foreground elements
* Added bopping
* SOUND FILES
* Working dough fixx lol
* Stepping Added!
* minor tweak
* Tap troupe inputs are queued yippee
* Tapping math stuff done
* Added tapping animations for npcs
* OKAY!
* Party Popper!
* Improved da particle
* Vine boom
* Ready for PR!
* Little fix
* anim adjustments
* Updated some sounds and scaling
* all anims done
---------
Co-authored-by: ev <85412919+evdial@users.noreply.github.com>
* Somewhat Playable Launch Party
Pitches/Animations are almost finished
* idk what you'd call this anymore
* More Launch Party Code
* Actually Approachable Code!
* Some other stuff idk
* Cleanup preparation
* Beginning too rebuild
* Got the rocket and cracker crackin'
* Basics done codewise
* Started setting up the movement of the launch pad
* You can now move da launch pad and rotate it too
* Scrolling Background effect added
* Small tweak
* Name changes
* Rise animation adjustment
* animations stuff
* miss and launch anims are in
* Implemented animations
* Adjusted sizing of launch pad
* Able to change scroll speed, but with major issues
* more anims
* More anim implementations
* more final touches
* Bug fixes
---------
Co-authored-by: Jellirby <80490342+Jellirby@users.noreply.github.com>
Co-authored-by: ev <85412919+evdial@users.noreply.github.com>
Co-authored-by: minenice55 <star.elementa@gmail.com>
* Tons of stuff...
* Drumming practice improvements
* Easing for drumming practice
* Converted TOTC to prefunction
* Split scratch o into two
* Forthington voice lines can now be played outside of air rally
* Rhythm Rally Improvements
* Air rally sound improvements
* Spawn blocks rework
* BTS ds small tweaks
* Tap Trial fixes
* More tweaks to tap trial
* Final minor tweaks
* Fixed small ssds bug
---------
Co-authored-by: minenice55 <star.elementa@gmail.com>
* Tons of stuff...
* Drumming practice improvements
* Easing for drumming practice
* Converted TOTC to prefunction
* Split scratch o into two
* Forthington voice lines can now be played outside of air rally
* Rhythm Rally Improvements
* Air rally sound improvements
* Spawn blocks rework
* BTS ds small tweaks
* Tap Trial fixes
* More tweaks to tap trial
* Final minor tweaks
* Marcher changes
As the title suggests, this implements da marcher changes, but also adds a nearMiss sound which was strangely missing.
* Fix some problems, add sound seqs
Fixes the game from not loading due to an asset bundle error, and removes some currently non-functioning stuff, and uses sound sequences for attention, march, and halt.
* correct grammar in display
* fix sarge sound sequences
fix marching inputs being unreliable
---------
Co-authored-by: minenice55 <star.elementa@gmail.com>
* Update Ringside.cs
* make unwanted ringside inputs score misses
update game icons
* Camera doesn't zoom out when it shouldn't
* Fixed the camera fr this time
---------
Co-authored-by: minenice55 <star.elementa@gmail.com>
* add alt cue to fan club
* add effects to rhythm somen
update rhythm somen hitsound
add near miss interaction for rhythm somen
* adjust trick on the class animation
* adjust fan club spectator animation timing
fix bug with legacy beatmap conversion
* Update Ringside.cs
* make unwanted ringside inputs score misses
update game icons
* Camera doesn't zoom out when it shouldn't
---------
Co-authored-by: minenice55 <star.elementa@gmail.com>
* Started
* Started Wrestler
* Animation + input whiff
* Stuff
* a bunch of animations
* Added extra sprites to the wrestler object
* Question + more sprites
* Woah you go big guy
* Event redesign
* more animations
* pose animations (only one as of now)
* wrestler shadow fixed lol
* Pose for the fans code logic improvement
* Fixing pose for the fans
* smears and animation fixes
* Fixed anims
* Fixed more anims
* Camera zoom out for pose for the fans and camera flashes
* tiny anim fixes
* Pose for the fans visual details
* Added ease to the camera zoom
* more anims lolol
* Bopping
* audience pose anim changed a little
* Small visual details and toggle bop
* Small anim fix
* more anim changes!!!!!!!!!!
* Little small change
* z axis thing
* fixed the 3d zoomout *
they need to be lower doe
* wait i forgot this
* Maybe fixed anim for audience
* Added sweat
* crowd anim fix
* Newspaper Added
* Added miss reporter anim
* Some few miss sounds
* miss and pose anims and more!!!!
* Added most of the miss animations
* boing noise
* ringside anims done!!!!
* Implemented all the poses and also added a feature to edit the camera zoom ease
* add stretchable ringside cue
---------
Co-authored-by: ev <85412919+evdial@users.noreply.github.com>
Co-authored-by: minenice55 <43734252+minenice55@users.noreply.github.com>
Co-authored-by: minenice55 <star.elementa@gmail.com>
* fix clouds
* add hit effects
fix jank with shuttle movement
* make near miss effect snap to player hit position
* add easing to forthington movement
* try different shuttle rotation method
* Revert "try different shuttle rotation method"
This reverts commit 96c0d56fd6f3fe57be2aeabdd24e85c728da3097.
* try other rotation method
* Spaceball cleanup and small bug fix
* Replace old hit sound in spaceball
* Camera filters
* added 9 new filters, including 3 types of sepia
* oops
* remark
* normalization of fade out and fade in on filters are by 100
* GenerateFilterTypeEnum comments
* Pure black and white filter
* Spaceball cleanup and small bug fix
* Replace old hit sound in spaceball
* Camera filters
* added 9 new filters, including 3 types of sepia
* oops
* remark
* normalization of fade out and fade in on filters are by 100
* GenerateFilterTypeEnum comments
* Kitties! (Initialization)
* Kitties Sprites Set-up
* Kitties (Placeholder Icon)
* Kitties (SFX added and some work on input)
* Kitties Animation Stuff
* Kitties Idle and Pop In
* Kitties Clap Animations and Inverse Spawn
* More Claps
* Face Claps
* Face Idle (Partially Done) and Mice
* Finished Claps
* Spins Partially Done
* Started On Fish
* Finished Rolls
* Fixed issue where animation flip would override code flip
* Fish Catch Animation Started
* Kitties Inputs Done and Custom Background sorta done
* Changed from "Initialization Only" to "WIP"
* Added sfx, sprites and folders neccesary. And also made an empty game object for working dough
* Started work on the background
* Implemented all unanimated sprites
* Added Init
* Added Prefabs
* Added Jumping and Idle Animatins for the Dough Dudes
* SmallFix
* Start Interval Event Implemented
* Added Audio and Small and Big Ball events
* Code Improvement + starting making the balls
* Added bezier curves
* Added First Rendition of Balls
* Added NPC Balls and starting doing small transporting animations
* SmallFixes
* SmallSoundChanges
* Implemented Audio and prefunction, not done with it though
* In process of fixing set interval
* Added more prefunction stuff and also started working on player input
* Tried adding player balls, not done, many bugs to fix
* Reverted trying to make the playerenterdoughball handle inputs, gonna do it through the main script instead
* Sat up input code for later
* Input works now! Need to add barely and wrong input animations and fix bugs
* Tiny fix
* Added first draft of wronginput animations
* Finished all input anims, trying to fix bugs
* Added finished Spaceship animations
* Added Mr Game and Watch WIP and lifting dough dudes
* Finished GANDW, fixed some bugs and still fixing bugs, almost done!
* DONE
* Begun development on tambourine
* Working Dough Polish
* Added many animations for tambourine
* Added Events
* Inputs added, near completion
* Miss Anims
* Animation changes
* DONE
* fix
* FIXED???
* FIXED FOR REAL
* Begun fixing lockstep, just needs small fixes and features
* Smol fix-ish
* Started work on mr upbeat
* MrUpbeat fixed, finishing up lockstep
* Added BG to lockstep
* Added bg colour change
* Done with my part
* make intervals be set at the correct time
clear queued balls lists while playback is stopped
queue sounds in advance to prevent mistiming
* clear tambourine queued inputs while playback is stopped
* clear queued inputs OnDestroy
* Added sfx, sprites and folders neccesary. And also made an empty game object for working dough
* Started work on the background
* Implemented all unanimated sprites
* Added Init
* Added Prefabs
* Added Jumping and Idle Animatins for the Dough Dudes
* SmallFix
* Start Interval Event Implemented
* Added Audio and Small and Big Ball events
* Code Improvement + starting making the balls
* Added bezier curves
* Added First Rendition of Balls
* Added NPC Balls and starting doing small transporting animations
* SmallFixes
* SmallSoundChanges
* Implemented Audio and prefunction, not done with it though
* In process of fixing set interval
* Added more prefunction stuff and also started working on player input
* Tried adding player balls, not done, many bugs to fix
* Reverted trying to make the playerenterdoughball handle inputs, gonna do it through the main script instead
* Sat up input code for later
* Input works now! Need to add barely and wrong input animations and fix bugs
* Tiny fix
* Added first draft of wronginput animations
* Finished all input anims, trying to fix bugs
* Added finished Spaceship animations
* Added Mr Game and Watch WIP and lifting dough dudes
* Finished GANDW, fixed some bugs and still fixing bugs, almost done!
* DONE
* Begun development on tambourine
* Working Dough Polish
* Added many animations for tambourine
* Added Events
* Inputs added, near completion
* Miss Anims
* Animation changes
* DONE
* fix
* FIXED???
* FIXED FOR REAL
* Added sfx, sprites and folders neccesary. And also made an empty game object for working dough
* Started work on the background
* Implemented all unanimated sprites
* Added Init
* Added Prefabs
* Added Jumping and Idle Animatins for the Dough Dudes
* SmallFix
* Start Interval Event Implemented
* Added Audio and Small and Big Ball events
* Code Improvement + starting making the balls
* Added bezier curves
* Added First Rendition of Balls
* Added NPC Balls and starting doing small transporting animations
* SmallFixes
* SmallSoundChanges
* Implemented Audio and prefunction, not done with it though
* In process of fixing set interval
* Added more prefunction stuff and also started working on player input
* Tried adding player balls, not done, many bugs to fix
* Reverted trying to make the playerenterdoughball handle inputs, gonna do it through the main script instead
* Sat up input code for later
* Input works now! Need to add barely and wrong input animations and fix bugs
* Tiny fix
* Added first draft of wronginput animations
* Finished all input anims, trying to fix bugs
* Added finished Spaceship animations
* Added Mr Game and Watch WIP and lifting dough dudes
* Finished GANDW, fixed some bugs and still fixing bugs, almost done!
* DONE
* Begun development on tambourine
* Working Dough Polish
* Added many animations for tambourine
* Added Events
* Inputs added, near completion
* Miss Anims
* Animation changes
* DONE
* fix
* Added sfx, sprites and folders neccesary. And also made an empty game object for working dough
* Started work on the background
* Implemented all unanimated sprites
* Added Init
* Added Prefabs
* Added Jumping and Idle Animatins for the Dough Dudes
* SmallFix
* Start Interval Event Implemented
* Added Audio and Small and Big Ball events
* Code Improvement + starting making the balls
* Added bezier curves
* Added First Rendition of Balls
* Added NPC Balls and starting doing small transporting animations
* SmallFixes
* SmallSoundChanges
* Implemented Audio and prefunction, not done with it though
* In process of fixing set interval
* Added more prefunction stuff and also started working on player input
* Tried adding player balls, not done, many bugs to fix
* Reverted trying to make the playerenterdoughball handle inputs, gonna do it through the main script instead
* Sat up input code for later
* Input works now! Need to add barely and wrong input animations and fix bugs
* Tiny fix
* Added first draft of wronginput animations
* Finished all input anims, trying to fix bugs
* Added finished Spaceship animations
* Added Mr Game and Watch WIP and lifting dough dudes
* Finished GANDW, fixed some bugs and still fixing bugs, almost done!
* DONE
* Begun development on tambourine
* Working Dough Polish
* Added many animations for tambourine
* Added Events
* Inputs added, near completion
* Miss Anims
* Animation changes
* DONE
* Added sfx, sprites and folders neccesary. And also made an empty game object for working dough
* Started work on the background
* Implemented all unanimated sprites
* Added Init
* Added Prefabs
* Added Jumping and Idle Animatins for the Dough Dudes
* SmallFix
* Start Interval Event Implemented
* Added Audio and Small and Big Ball events
* Code Improvement + starting making the balls
* Added bezier curves
* Added First Rendition of Balls
* Added NPC Balls and starting doing small transporting animations
* SmallFixes
* SmallSoundChanges
* Implemented Audio and prefunction, not done with it though
* In process of fixing set interval
* Added more prefunction stuff and also started working on player input
* Tried adding player balls, not done, many bugs to fix
* Reverted trying to make the playerenterdoughball handle inputs, gonna do it through the main script instead
* Sat up input code for later
* Input works now! Need to add barely and wrong input animations and fix bugs
* Tiny fix
* Added first draft of wronginput animations
* Finished all input anims, trying to fix bugs
* Added finished Spaceship animations
* Added Mr Game and Watch WIP and lifting dough dudes
* Finished GANDW, fixed some bugs and still fixing bugs, almost done!
* DONE
* Begun development on tambourine
* Working Dough Polish
* Added sfx, sprites and folders neccesary. And also made an empty game object for working dough
* Started work on the background
* Implemented all unanimated sprites
* Added Init
* Added Prefabs
* Added Jumping and Idle Animatins for the Dough Dudes
* SmallFix
* Start Interval Event Implemented
* Added Audio and Small and Big Ball events
* Code Improvement + starting making the balls
* Added bezier curves
* Added First Rendition of Balls
* Added NPC Balls and starting doing small transporting animations
* SmallFixes
* SmallSoundChanges
* Implemented Audio and prefunction, not done with it though
* In process of fixing set interval
* Added more prefunction stuff and also started working on player input
* Tried adding player balls, not done, many bugs to fix
* Reverted trying to make the playerenterdoughball handle inputs, gonna do it through the main script instead
* Sat up input code for later
* Input works now! Need to add barely and wrong input animations and fix bugs
* Tiny fix
* Added first draft of wronginput animations
* Finished all input anims, trying to fix bugs
* Added finished Spaceship animations
* Added Mr Game and Watch WIP and lifting dough dudes
* Finished GANDW, fixed some bugs and still fixing bugs, almost done!
* DONE
* Lockstep
fansodnason
* More Lockstep
Implemented the new sprites (still needs work). Added new Icon.
* More lockstep stuff
i have no clue
* Animation Tweaking
I fiddled around with numbers weeeeeeeeeeeeeeee
* Karate Man - Object through sound changed from GBA to Fever/Megamix
it bothers me
* Marching Orders - Face Turn Inputs and More
i said it will be back in action in around november, it's less than 10 days close to november anyway, plus the inputs are easy peasy
* Fixing March Animations
slight error
Co-authored-by: minenice55 <star.elementa@gmail.com>
* fix crop stomp input scheduling bugs
* update space soccer to use PlayerActionEvent
* update spaceball to use PlayerActionEvent
make PlayerActionEvents clean themselves up on game switch
* update rhythm rally to use PlayerActionEvent
* update rhythm tweezers to use PlayerActionEvent
* update mahou tsukai to use PlayerActionEvent
* reduce logging level
* update blue bear to use PlayerActionEvent
* update built to scale DS to use PlayerActionEvent
* update clappy trio to use PlayerActionEvent
* update crop stomp to use PlayerActionEvent
* update drumming practice to use PlayerActionEvent
* update fork lifter to use PlayerActionEvent
* update minigame icons
* update wizard waltz' icon
* implement a fix for #196
- improve checking for unwanted inputs in minigame scripts, see Fan Club, Karate Man, and Pajama Party for examples
- provisionally implemented calculating average player input offset
* update samurai slice ds to new assets
implement near miss feedback
* import new pajama party assets
* starting out with double date stuff :D
not even the background is finished
i just wanna get this on my fork so that it's safe
* double date getting more initialized
no animations, one block, nothing actually functions. but the boy is put in place, and the girl is almost put in place! just wanted to merge this with the main branch to play catchy tune
* initialization done!!!!!
gonna fix up the code, see what i can take out, see what i can standardize, see what i need to add. loving this so far, even with all of its annoyances
* ughhhh animation stuff.
this is gonna take me a day or two to even comprehend
Co-authored-by: minenice55 <star.elementa@gmail.com>
* update icons
* add background loading of sound sequences
- fix bug with preFunction
- remove most of the old preloading code
* update spritesheets for karate man, marching orders
* file explorer chart loading
* update icon for trick on the class
* add way of creating sound sequences in inspector
- actually implement GameAction preFunction
- implement sound scheduling for Jukebox and MultiSound
* Dj School: fix turntable effect being parented to root
* Pajama Party: fix sleep action type not carrying over between transitions
* Cheer Readers Initialization + Other
So, cheer readers is coming now. Starting with an initialized version of course. Also, any games that only have Switch game events are categorized as [INITIALIZATION ONLY] to better differentiate them from [WIP] games that work, but are missing some things
* Update CheerReaders.cs
Fixed the internal name for cheer readers
* Launch Party is no longer [INITIALIZATION ONLY]
* improve performance with new render settings
- fix letterboxing losing camera references
* fin in missing params?
needs testing
* finish default param check
* scale jump animation of fan club spectators
* fix missing references in a karate man method
* more liberal use of Double in conductor
beatkeeping is now absolute instead of being additive
* optimize Conductor more
reduce caching from constantly sorting tempo changes despite game manager doing it for us
moved metronome logic to LateUpdate
* prep UI for chart section
* all special layers now on one area
todo: have buttons toggle between special layers (selection mode shows all?), use the tabs system for this
* swapping between special timelines - prelim
* special entities can be placed
* spec. timeline base functions complete
music volume changes should work now
* attempt at input lag reduction
needs testing
* fix dsp issues
* smaller DSP buffer?
* Revert "smaller DSP buffer?"
This reverts commit 9d36db5ff90cf4e2d7bb8db9b4b7376cb493e02b.
* make conductor clock use real time (double)
change order of execution of input-related scripts to further attempt a reduction in input latency
* start values can be changed
make the old special entity bar visible when the corresponding type is selected
* creation of Chart Sections (TODO: GO REFERENCE)
* added GO references
* section edit dialog
* disable wrapping on chart section obj
* backspace can now delete entities
* entities don't shift when duplicated
* fix PlayerActionEvent order of operations
- fixed remix loading trying to clear special timeline while it's writing to itself
* make oop check match parity
* more operation order fix
* fix Karate Man BG initialization
* show section progress in editor
todo: section progress in-game
* more fix for entity duping
last commit for now because i wanna start making a remix for a custom remix showcase that will meet the deadline on december 31st (?), dw ill come back after i finish this
i've noticed the games created by the owner doesn't use type2, thus the said games are glitching out in terms of
right click options
i don't know multiple toggles it just breaks the editor??
unfortunately we lost a good chunk of git history in the process so that may hurt the ability for this to get merged, may have to consult everyone else for this
- bg effect preview (buggy)
- adjusted path of hit items
- adjusted particle limits and spawning
- rain is now affected by wind
- cont. work on joe expressions
- animation helper sync scale now plays thru events properly
- adjusted timing windows
- fix bug in master volume control where the text input doesn't work
- fix bug in the Fan Club minigame where the player wouldn't jump when they were supposed to
First Contact:
Live is now offbeat
[alienSuccess] code block is a bit smaller
Mission Control is now stretchable
Tap Trial
- Started working on coding the inputs
- Animated monkey (tap, double, and triple (incomplete))
* Fan Club: spotlight effects
* new icons for Pajama Party, Karate Man
* Editor: make context use Rodin font
* idem for entities
* Blue Bear: import HQ texture
* Pajama Party: option to sleep forever
* Space Soccer: option to mute the dispense sound
* Loading improvements: prepwork for loading from assetbundles
* note for sfx
* cleaner code
* correct type
* put loaded assetbundle in the minigame data instead
also lays groundwork for future localization stuff
* add samurai slice gold, coin toss assetbundles
* very messy "already loaded" checks
* make Dj School load from assetbundle
This commit includes all the necessary things to get started with Launch Party (base color sprites, prefab, background, and a loader class script). Anyone is welcome to finish it
* Fix Sheets issue 11
* Textboxes: Fix unicode glyphs sometimes not displaying
* Fan Club: fix order of operation bug
* Conductor: refactor ReportBeat
this fixes issues with using crop stomp alongside tempo changes
* Built to Scale (Gold): temporarily disable post-processing
game renders very incorrectly due to the post processing effects
will need someone who knows what they're doing in that field to fix it proper
* marked some assets for deletion
* I'm dumb and left in debug prints
* Textboxes: setup prefab
* Textboxes: basic functionality finished
* Textbox: scaling
* Textbox: open captions
* Textbox: res edits
* Textbox: song artist
* Textbox: closed captions
* Textbox: fix not being able to use multiple text events
* I/O: save / load remixes using UTF-8 encoding
* Textboxes: stop editor shortcuts while typing
-- On the PlayerInput class --
FIXED: Bug where Directions input were still recorded even with autoplay on
OPTIMIZED: Moved the conditions wether player had control in it's own method so we can re-use the same condition on new methods
I went through every single game script to look for bugs in intialization, there shouldn't be anything else that was caused by the pr (there is a bug in Spaceball where a ball cue won't trigger correctly if it's on the same beat as the switch, but i'm not sure how to fix it)